import {Component, OnInit} from '@angular/core';
import {NzMessageService} from 'ng-zorro-antd';
import {_HttpClient} from '@delon/theme';

@Component({
    selector: 'pro-list-applications',
    templateUrl: './applications.component.html',
    styleUrls: ['./applications.component.less'],
})
export class ProListApplicationsComponent implements OnInit {
    q: any = {
        ps: 8,
        categories: [],
        owners: ['zxx'],
    };

    list: any[] = [];

    loading = true;

    // region: cateogry
    categories = [
        {id: 0, text: '全部', value: false},
        {id: 1, text: '类目一', value: false},
        {id: 2, text: '类目二', value: false},
        {id: 3, text: '类目三', value: false},
        {id: 4, text: '类目四', value: false},
        {id: 5, text: '类目五', value: false},
        {id: 6, text: '类目六', value: false},
        {id: 7, text: '类目七', value: false},
        {id: 8, text: '类目八', value: false},
        {id: 9, text: '类目九', value: false},
        {id: 10, text: '类目十', value: false},
        {id: 11, text: '类目十一', value: false},
        {id: 12, text: '类目十二', value: false},
    ];

    changeCategory(status: boolean, idx: number) {
        if (idx === 0) {
            this.categories.map(i => (i.value = status));
        } else {
            this.categories[idx].value = status;
        }
        this.getData();
    }

    // endregion

    constructor(private http: _HttpClient, public msg: NzMessageService) {
    }

    ngOnInit() {
        this.getData();
    }

    getData() {
        this.loading = true;
        this.http.get('/api/list', {count: this.q.ps}).subscribe((res: any) => {
            this.list = res.map(item => {
                item.activeUser = this.formatWan(item.activeUser);
                return item;
            });
            this.loading = false;
        });
    }

    private formatWan(val) {
        const v = val * 1;
        if (!v || isNaN(v)) return '';

        let result = val;
        if (val > 10000) {
            result = Math.floor(val / 10000);
            result = `${result}`;
        }
        return result;
    }
}
